package com.example.administrator.mymodlemediator;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

import com.example.administrator.mymodlemediator.中介.主板;
import com.example.administrator.mymodlemediator.同事.CD机;
import com.example.administrator.mymodlemediator.同事.CPU;
import com.example.administrator.mymodlemediator.同事.声卡;
import com.example.administrator.mymodlemediator.同事.显卡;

//中介者模式
public class MainActivity extends AppCompatActivity {

    private CD机 cd机;
    private com.example.administrator.mymodlemediator.中介.主板 主板;
    private CPU cpu;
    private com.example.administrator.mymodlemediator.同事.显卡 显卡;
    private com.example.administrator.mymodlemediator.同事.声卡 声卡;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button btn = (Button) findViewById(R.id.btn);
        //创建中介，主板
        主板 = new 主板();
        //创建各个零件对象
        cd机 = new CD机(主板);
        cpu = new CPU(主板);
        显卡 = new 显卡(主板);
        声卡 = new 声卡(主板);

        //把各个零件组装到主板（中介）上
        主板.setCd机(cd机);
        主板.setCpu(cpu);
        主板.set声卡(声卡);
        主板.set显卡(显卡);

        //点击事件，模拟cd机加载了数据
        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                cd机.loadData("我是图片,我是声音");
            }
        });
    }
}
